As electronic devices grow in complexity, greater numbers of leads are required for forming connections between different devices. Consequently, the layout and design of circuit boards has become increasingly complex. Serial communication ports offer a partial remedy to this complexity, as they allow devices to communicate using far fewer lines than parallel devices. Serial ports communicate via only two lines—one for transmitting data and one for receiving data. These lines can be single-ended (i.e., one signal referenced to ground) or differential (i.e., two complementary signals, neither of which is ground). To transfer data at rates comparable to parallel ports, serial ports tend to operate at much higher speeds than parallel ports. Modern serial ports operate at data rates up to several gigahertz (GHz).
Serial ports place particular demands on automatic test equipment (“ATE”). For example, serial ports can generally transmit and receive data simultaneously. To thoroughly test serial ports, the tester itself should be able to both transmit and receive data simultaneously. Serial ports can also transmit and receive data at different rates, meaning that the tester should operate at different rates. Perhaps most significantly, serial ports tend to operate at extremely high speeds, which are much faster than the pin electronics operate in conventional testers.
Broadly speaking, techniques for testing serial ports fall into three categories: fully functional digital testing, algorithmic testing, and loopback testing. Fully functional digital testing employs complex, pattern-based instruments for generating serial stimuli and for monitoring serial responses. These instruments typically operate at high speeds, sufficiently fast for testing most serial ports, and provide a great deal of control over the timing of signals and their amplitudes. Although they are flexible and capable, fully functional digital instruments tend to be costly and require long development times. Examples of fully functional digital test instruments include the Gazelle™ and Super Speed Serial Pin™, both from Teradyne, Inc., of Boston, Mass.
Algorithmic testing tends to be less expensive than fully functional digital testing. Algorithmic testing involves generating serial bit streams according to any of a number of predetermined algorithms, and monitoring serial responses to ensure that they match expected responses to the serial stimuli. Stimuli can be arranged according to a wide variety of algorithmic patterns, for example, pseudo-random patterns, march patterns (walking a “1” through a field of “0's”), alternating bit patterns, and many others. Although algorithmic testing is less expensive than fully functional testing, it is also less thorough. For example, algorithmic testing is generally not able to control the placement of individual edges transmitted to a serial port. Because it uses a limited set of patterns, algorithmic testing also cannot test the particular circuitry of individual devices.
Loopback testing is the simplest and perhaps the most popular way to test serial ports. Loopback testing involves connecting the transmit line (TX) of a serial port back to its own receive line (RX). The device is then made to transmit a known pattern of serial data. Once the data is transmitted, the tester monitors lower-speed pins of the device, which have states that depend upon the correct operation of the TX and RX lines, to determine whether the test passes or fails.
Loopback testing is extremely convenient. The test fixture for a serial port merely requires a wire for connecting the transmit line to the receive line. The tester neither transmits serial data nor receives serial data. We have recognized, however, that this convenience comes at the cost of thoroughness. Because the serial port receives data at the same rate at which it transmits data, loopback testing does not separately test that the transmit line of a serial port can operate at a different speed from the receive line. The tester can thus fail to detect internal defects in a device's synchronizing circuitry. We have also recognized that, because the tester does not directly create the serial bit stream, the tester cannot test the tolerance of a serial port to imperfect input signals. These include input signals having amplitude errors, distortion, and timing jitter. Neither can the tester directly measure the serial port's output signals, to ensure that they have correct amplitudes and timing characteristics.
Still, the convenience of loopback testing offers significant promise for achieving low-cost testing of serial ports. What is needed, however, is a way of enhancing the flexibility and test coverage of loopback testing, without significantly increasing its cost.